[INFO] cloning repository https://github.com/ezksd/combinator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ezksd/combinator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fezksd%2Fcombinator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fezksd%2Fcombinator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a2989e2e8fc92c9c8b1b4c949d9d8cc0b4de1986
[INFO] checking ezksd/combinator against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fezksd%2Fcombinator" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ezksd/combinator on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ezksd/combinator
[INFO] finished tweaking git repo https://github.com/ezksd/combinator
[INFO] tweaked toml for git repo https://github.com/ezksd/combinator written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/ezksd/combinator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d2ae5804c43e27e87bc8388769cf50d063c63cf50b1e7c03ff0cf2909e10e93
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9d2ae5804c43e27e87bc8388769cf50d063c63cf50b1e7c03ff0cf2909e10e93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d2ae5804c43e27e87bc8388769cf50d063c63cf50b1e7c03ff0cf2909e10e93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d2ae5804c43e27e87bc8388769cf50d063c63cf50b1e7c03ff0cf2909e10e93", kill_on_drop: false }`
[INFO] [stdout] 9d2ae5804c43e27e87bc8388769cf50d063c63cf50b1e7c03ff0cf2909e10e93
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64154f3b297b77368b00a6eedb3a5b3f55dc67da5f8d95d53e41c6992e5bce6c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "64154f3b297b77368b00a6eedb3a5b3f55dc67da5f8d95d53e41c6992e5bce6c", kill_on_drop: false }`
[INFO] [stderr]     Checking combinator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/chars.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut v: Vec<Box<Parser<Input = _, Output = _>>> = Vec::new();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Parser<Input = _, Output = _>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/chars.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut v: Vec<Box<Parser<Input = _, Output = _>>> = Vec::new();
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Parser<Input = _, Output = _>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     item().flat_map(move |x| if f(x) { pure(x) } else { empty() })
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 37:12...
[INFO] [stdout]   --> src/parser/chars.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char>
[INFO] [stdout]    |            ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char>
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     item().flat_map(move |x| if f(x) { pure(x) } else { empty() })
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) });
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 17:15...
[INFO] [stdout]   --> src/parser/chars.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> {
[INFO] [stdout]    |               ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) });
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = u32, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = u32, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     item().flat_map(move |x| if f(x) { pure(x) } else { empty() })
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 37:12...
[INFO] [stdout]   --> src/parser/chars.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char>
[INFO] [stdout]    |            ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char>
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     item().flat_map(move |x| if f(x) { pure(x) } else { empty() })
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) });
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 17:15...
[INFO] [stdout]   --> src/parser/chars.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> {
[INFO] [stdout]    |               ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) });
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = u32, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = u32, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |     many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x))
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 44:12...
[INFO] [stdout]   --> src/parser/chars.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Any(v)
[INFO] [stdout]    |                 ^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/parser/chars.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x))
[INFO] [stdout]    |           ------------------------------------------ in this macro invocation
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |         v.push(chr(c).boxed());
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 48:15...
[INFO] [stdout]   --> src/parser/chars.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |               ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     All(v).map(|x| collect(&x))
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |     many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x))
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 44:12...
[INFO] [stdout]   --> src/parser/chars.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Any(v)
[INFO] [stdout]    |                 ^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/parser/chars.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x))
[INFO] [stdout]    |           ------------------------------------------ in this macro invocation
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/json.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         json_object(),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 24:19...
[INFO] [stdout]   --> src/json.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]    |                   ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/json.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |               Any(v)
[INFO] [stdout]    |                   ^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/json.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | /     any!(
[INFO] [stdout] 26 | |         json_object(),
[INFO] [stdout] 27 | |         json_array(),
[INFO] [stdout] 28 | |         json_string().map(JsonString),
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |         json_null()
[INFO] [stdout] 32 | |     )
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = JsonValue, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = JsonValue, Input = &str>>>`
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/parser/chars.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |         v.push(chr(c).boxed());
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 48:15...
[INFO] [stdout]   --> src/parser/chars.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |               ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/parser/chars.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/chars.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     All(v).map(|x| collect(&x))
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/json.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         json_object(),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 24:19...
[INFO] [stdout]   --> src/json.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]    |                   ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/json.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/parser/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |               Any(v)
[INFO] [stdout]    |                   ^
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/json.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | /     any!(
[INFO] [stdout] 26 | |         json_object(),
[INFO] [stdout] 27 | |         json_array(),
[INFO] [stdout] 28 | |         json_string().map(JsonString),
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |         json_null()
[INFO] [stdout] 32 | |     )
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    = note: expected `Vec<Box<(dyn parser::Parser<Output = JsonValue, Input = &str> + 'static)>>`
[INFO] [stdout]               found `Vec<Box<dyn parser::Parser<Output = JsonValue, Input = &str>>>`
[INFO] [stdout]    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:20:17
[INFO] [stdout]     |
[INFO] [stdout] 20  |         prefix!(spaces(), chr($x))
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v))
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 82:16...
[INFO] [stdout]    --> src/json.rs:82:16
[INFO] [stdout]     |
[INFO] [stdout] 82  | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]     |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:82:25
[INFO] [stdout]     |
[INFO] [stdout] 82  | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/parser/mod.rs:74:17
[INFO] [stdout]     |
[INFO] [stdout] 74  |             Any(v)
[INFO] [stdout]     |                 ^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/json.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v))
[INFO] [stdout]     |                               ------------------------ in this macro invocation
[INFO] [stdout]     = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]                found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:20:17
[INFO] [stdout]     |
[INFO] [stdout] 20  |         prefix!(spaces(), chr($x))
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v))
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 82:16...
[INFO] [stdout]    --> src/json.rs:82:16
[INFO] [stdout]     |
[INFO] [stdout] 82  | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]     |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:82:25
[INFO] [stdout]     |
[INFO] [stdout] 82  | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/parser/mod.rs:74:17
[INFO] [stdout]     |
[INFO] [stdout] 74  |             Any(v)
[INFO] [stdout]     |                 ^
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/json.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |     around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v))
[INFO] [stdout]     |                               ------------------------ in this macro invocation
[INFO] [stdout]     = note: expected `Vec<Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>>`
[INFO] [stdout]                found `Vec<Box<dyn parser::Parser<Output = char, Input = &str>>>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/json.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         prefix!(chr('\\'), or(item(), prefix!(chr('u'), repeat(digit(), 4)))).flat_map(
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 83:16...
[INFO] [stdout]   --> src/json.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn control<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]    |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/json.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn control<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/json.rs:87:41
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     '"' | '\\' | '/' => pure(c),
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         item().flat_map(|x| match x {
[INFO] [stdout] 108 | |             '"' | '\\' => empty(),
[INFO] [stdout] 109 | |             _ => pure(x),
[INFO] [stdout] 110 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 106:14...
[INFO] [stdout]    --> src/json.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn other<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]     |              ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn other<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/json.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |             '"' | '\\' => empty(),
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]                found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     flag().flat_map(|g| {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 115:16...
[INFO] [stdout]    --> src/json.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]     |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/json.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | /                 float()
[INFO] [stdout] 144 | |                     .map(move |o| match o {
[INFO] [stdout] 145 | |                         Some(f) => JsonFloat(g as f32 * (i as f32 + f)),
[INFO] [stdout] 146 | |                         None => JsonInteger(g * i as i32),
[INFO] [stdout] 147 | |                     })
[INFO] [stdout] 148 | |                     .boxed()
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: expected `Box<(dyn parser::Parser<Output = JsonValue, Input = &str> + 'static)>`
[INFO] [stdout]                found `Box<dyn parser::Parser<Output = JsonValue, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]   --> src/json.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         prefix!(chr('\\'), or(item(), prefix!(chr('u'), repeat(digit(), 4)))).flat_map(
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 83:16...
[INFO] [stdout]   --> src/json.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn control<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]    |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]   --> src/json.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn control<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: expected `&str`
[INFO] [stdout]               found `&'a str`
[INFO] [stdout]    = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]   --> src/json.rs:87:41
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     '"' | '\\' | '/' => pure(c),
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]               found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         item().flat_map(|x| match x {
[INFO] [stdout] 108 | |             '"' | '\\' => empty(),
[INFO] [stdout] 109 | |             _ => pure(x),
[INFO] [stdout] 110 | |         })
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 106:14...
[INFO] [stdout]    --> src/json.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn other<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]     |              ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn other<'a>() -> impl Parser<Input = &'a str, Output = char> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/json.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 |             '"' | '\\' => empty(),
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     = note: expected `Box<(dyn parser::Parser<Output = char, Input = &str> + 'static)>`
[INFO] [stdout]                found `Box<dyn parser::Parser<Output = char, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
[INFO] [stdout]    --> src/json.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     flag().flat_map(|g| {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 115:16...
[INFO] [stdout]    --> src/json.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]     |                ^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/json.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected `&str`
[INFO] [stdout]                found `&'a str`
[INFO] [stdout]     = note: but, the lifetime must be valid for the static lifetime...
[INFO] [stdout] note: ...so that the expression is assignable
[INFO] [stdout]    --> src/json.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | /                 float()
[INFO] [stdout] 144 | |                     .map(move |o| match o {
[INFO] [stdout] 145 | |                         Some(f) => JsonFloat(g as f32 * (i as f32 + f)),
[INFO] [stdout] 146 | |                         None => JsonInteger(g * i as i32),
[INFO] [stdout] 147 | |                     })
[INFO] [stdout] 148 | |                     .boxed()
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: expected `Box<(dyn parser::Parser<Output = JsonValue, Input = &str> + 'static)>`
[INFO] [stdout]                found `Box<dyn parser::Parser<Output = JsonValue, Input = &str>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0495`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `combinator`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 9 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0495`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "64154f3b297b77368b00a6eedb3a5b3f55dc67da5f8d95d53e41c6992e5bce6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64154f3b297b77368b00a6eedb3a5b3f55dc67da5f8d95d53e41c6992e5bce6c", kill_on_drop: false }`
[INFO] [stdout] 64154f3b297b77368b00a6eedb3a5b3f55dc67da5f8d95d53e41c6992e5bce6c
